<template>
  <div>
    <div
      class="btn"
      :class="{ primary: type == 'primary', danger: type == 'danger' }"
      @click="handler"
    >
      <!-- 添加插槽，让用户可以自定义按钮的文本内容 -->

      <!-- 匿名插槽：没有设置名称的插槽,后期在使用这个组件的时候，在组件的双标签之间的内容都会填充到这个插槽位置 -->
      <slot></slot>
    </div>
  </div>
</template>

<script>
export default {
  // 子组件接收父组件值
  props: {
    type: {
      type: String,
    },
  },
  methods: {
    // 子传父
    handler(e) {
      this.$emit("click", e);
    },
  },
};
</script>

<style lang="less" scoped>
.btn {
  // vw是视口宽度
  width: 318 * 100vw/375;
  height: 50px;
  line-height: 50px;
  background-color: #ccc;
  color: #fff;
  text-align: center;
  font-size: 20px;
  border-radius: 25px;
}
// 更换按钮颜色
.primary {
  background-color: #0a0;
}
.danger {
  background-color: red;
}
</style>